

package unmsm.fingerprint;

import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

// BPanel: Panel donde se muestra C/U de las huellas
public class PanelHuella extends JPanel{

    //BufferedImage: describe el buffer de imagen para una huella
    public BufferedImage bufferedImage;

    /***** constructores ******/
    public PanelHuella (){
      // colocando un evento para que pinte cuando clicken en el area pintada del panel
      this.addMouseListener(
                          new MouseAdapter(){
                                   public void mouseClicked(MouseEvent m){
                                        JOptionPane.showMessageDialog (null,
                                                                       "("+Integer.toString(m.getPoint().x)+";"+Integer.toString(m.getPoint().y)+")",
                                                                       "Punto",JOptionPane.PLAIN_MESSAGE);
                                   }
                          });
    }

    /*public BJPanel (BufferedImage bi){
      this.bi = bi;
      setPreferredSize(new Dimension(bi.getWidth(),bi.getHeight())) ;
    }*/

    /******  metodos ******/
    //establecer buffer de imagen
    public void setBufferImagen(BufferedImage bufferedImage){
      this.bufferedImage = bufferedImage;
      //estableciendo dimension de la huella
      this.setDimensionHuella();
      //llama al método paintComponent(Graphics g), para volver a pintar
      this.repaint();
    }

    //estableciendo dimension de la huella (ancho, alto)
    private void setDimensionHuella(){
      this.setPreferredSize(new Dimension(this.bufferedImage.getWidth(),
                                          this.bufferedImage.getHeight())) ;
    }

    //pinta la huella en el JPanel (solo se llama una vez este metodo para pintar)
    public void paintComponent(Graphics g){
      g.drawImage(bufferedImage,0,0,this) ;
    }
}